This disclosure relates to test and measurement instruments, and in particular, to a method and apparatus for measuring symbol error rates and bit error rates independent of disparity errors.
Test and measurement instruments, such as oscilloscopes, logic analyzers, or the like can be used to measure and analyze data. Over the course of several years, technical standards have emerged such as SATA, USB, IEEE 1394b, SAS, Fibre Channel, etc., which use encoding methods for balancing edge transitions in a stream of data. For instance, one such prevalent method is referred to as the 8b/10b encoding method, which encodes the symbols before transmitting them as a serial signal, thereby guaranteeing the edge density. The 8b/10b encoding scheme uses disparity to balance the number of positive and negative edges. For example, each standard 8-bit symbol can be represented in either one of two different 10-bit symbols. Each 10-bit symbol has associated with it one of two disparities, sometimes referred to as RD+ or RD−.
When the 10-bit symbols are transmitted, a “running disparity” or “RD” is associated with the data stream or signal and maintained during the transmission of the data. The RD of the signal is essentially the difference between the number of 1s transmitted and the number of 0s transmitted. It can be thought of as a residual value, which is used to choose which of the two 10-bits codes (e.g., having either a disparity of RD+ or a disparity of RD−) to transmit next in the data stream so that the running disparity of the signal fluctuates over time, but is limited to between −1 to +1.
As a result, the 8b/10b encoding method attempts to ensure that the number of transmitted 1s and 0s are essentially balanced. This results, for example, in more efficient clock recovery and improved bandwidth characteristics of the signal.
However, during the 8b/10b encoding process, disparity errors can be introduced into the data stream. Such disparity errors can inflate or otherwise distort the actual bit error rate of the data stream. For instance, a common control signal used in the 8b/10b encoding method is referred to as K28.5. The RD+ of K28.5 (i.e., K28.5+) is 1100000101, and the RD− of K28.5 (i.e., K28.5−) is the bit-wise inverse, i.e., 0011111010. Given that there are 10 bits of difference between the RD+ and RD− disparities of K28.5, if an errant disparity is chosen, one result is that the bit error rate can be erroneously inflated by an amount of 10.
Moreover, conventional techniques do not separate symbol error rates from bit error rates. In addition, conventional bit error rate measurements do not accurately reflect the actual bit error rate independent of any disparity errors that can be introduced into the signal.
Accordingly, a need remains for an improved method and apparatus for measuring symbol error rates and bit error rates independent of disparity errors.